With the development of data storage techniques, various data storage devices provide users with an increasingly high data storage capacity, and also their data access speed has been improved greatly. Besides the increase of data storage capacity, users also impose greater and greater demands on data reliability and response time of storage systems. So far various RAID-based data storage systems have been developed to improve data reliability. When one or more disks in a storage system fail, data in failing disk(s) can be recovered from other normal disk.
Mapped RAID has been developed so far. In this mapped RAID, a disk is a logical concept and may comprise multiple extents that may be distributed over different physical storage devices. Regarding multiple extents in one stripe of mapped RAID, it is desired that the multiple extents are distributed over different physical storage devices so that when a physical storage device where one extent among the multiple extents is located fails, data may be recovered from a physical storage device where other extent is located. In mapped RAID, a huge computation load is involved to determine the distribution of extents in various stripes over multiple physical storage devices. Therefore, it is a tough issue regarding how to determine the distribution of extents in a simpler but more effective way.